From 59249d1f4e09a93d78d13dadb83064690aeef391 Mon Sep 17 00:00:00 2001 From: Eh2406 Date: Fri, 16 Mar 2018 12:31:30 -0400 Subject: [PATCH] remove duplicated adding to the cache --- src/cargo/core/resolver/mod.rs | 34 ++++++++++------------------------ 1 file changed, 10 insertions(+), 24 deletions(-) diff --git a/src/cargo/core/resolver/mod.rs b/src/cargo/core/resolver/mod.rs index 33ba172b2..4174cc0b4 100644 --- a/src/cargo/core/resolver/mod.rs +++ b/src/cargo/core/resolver/mod.rs @@ -1096,30 +1096,16 @@ fn activate_deps_loop( } } if !has_another && has_past_conflicting_dep && !backtracked { - // we have not activated ANY candidates and - // we are out of choices so add it to the cache - // so our parent will know that we don't work - let past = past_conflicting_activations - .entry(dep.clone()) - .or_insert_with(Vec::new); - if !past.contains(&conflicting_activations) { - trace!( - "{}[{}]>{} adding a meta-skip {:?}", - parent.name(), - cur, - dep.name(), - conflicting_activations - ); - past.push(conflicting_activations.clone()); - // also clean the `backtrack_stack` so we don't - // backtrack to a place where we will try this again. - backtrack_stack.retain(|bframe| { - !bframe.context_backup.is_conflicting( - Some(parent.package_id()), - &conflicting_activations, - ) - }); - } + // we have not activated ANY candidates. + // So clean the `backtrack_stack` so we don't + // backtrack to a place where we will try this again. + backtrack_stack.retain(|bframe| { + // Maybe we could just not add them in the first place, but for now this works + !bframe.context_backup.is_conflicting( + Some(parent.package_id()), + &conflicting_activations, + ) + }); } // if not has_another we we activate for the better error messages frame.just_for_error_messages = has_past_conflicting_dep; -- 2.30.2